// 获取当前时间戳(毫秒)
export const getTimeStamp = () => {
  return Date.now()
}

// 编写一个方法，用来计算当前日期到当前年度最后一天，一共有多少天
// export const getDaysInCurrentYear = () => {
//   const now = new Date();
//   const currentYear = now.getFullYear();

//   // 创建本年度最后一天的日期对象：12月31日
//   const yearEnd = new Date(currentYear, 11, 31); // 月份从0开始，11代表12月

//   // 计算两个日期之间相差的毫秒数
//   const diffInMs = yearEnd - now;

//   // 转换为天数（1天 = 24 * 60 * 60 * 1000 毫秒）
//   const diffInDays = Math.floor(diffInMs / (24 * 60 * 60 * 1000));

//   return diffInDays;
// }

//获取当前年份
export const getCurrentYear = () => {
  const now = new Date()
  return now.getFullYear()
}

// 日期格式化 为YYYYMMDD
export const formatDateToYYYYMMDD = (date) => {
  const year = date.getFullYear()
  const month = String(date.getMonth() + 1).padStart(2, '0') // 注意月份从 0 开始
  const day = String(date.getDate()).padStart(2, '0')
  return `${year}${month}${day}`
}

// 日期格式化为 MM/DD 格式
export const formatDateToMMDD = (date) => {
  const month = String(date.getMonth() + 1).padStart(2, '0')
  const day = String(date.getDate()).padStart(2, '0')
  return `${month}/${day}`
}

// 格式化搜索推荐列表
// const array = [{
//   "hintType": "STAR_TOUR",
//   "id": "6864de070c01510001f221bd",
//   "name": "伍佰 AND CHINA BLUE ROCK STAR 2世界巡回演唱会",
// },
// {
//   "hintType": "SHOW",
//   "id": "68afcf8834c1c70001913c74",
//   "name": "A 公馆「潮汐电台」2025 巡演 深圳站",
//   "venueName": "深圳MAO Livehouse（海上世界）",
//   "showDate": "2025.12.13",
//   "showStatus": "HOT_SALE",
//   "showStatusDisplayName": "热卖中",
//   "showCity": "深圳",
//   "priceInfo": {
//     "yuanNum": "188",
//     "centNum": "0",
//     "suffix": "起",
//     "prefix": "¥"
//   }
// },
// {
//   "hintType": "STAR_TOUR",
//   "id": "6864de070c01510001f221ef",
//   "name": "世界巡回演唱会",
// },
// ]
// 将 array转化为二维数组，array里hintType值相同的归类为一个数组
export const formatSearchHintList = (array) => {
  return Object.values(
    array.reduce((acc, item) => {
      const key = item.hintType
      if (!acc[key]) {
        acc[key] = []
      }
      acc[key].push(item)
      return acc
    }, {}),
  )
}

// 设置带过期时间的 localStorage
export const setLocalStorageWithExpiry = (key, value, ttl) => {
  const item = {
    value: value,
    expiry: Date.now() + ttl,
  }
  localStorage.setItem(key, JSON.stringify(item))
}

// 获取 localStorage 并检查是否过期
export const getLocalStorageWithExpiry = (key) => {
  const itemStr = localStorage.getItem(key)
  if (!itemStr) {
    return null
  }
  const item = JSON.parse(itemStr)
  if (Date.now() > item.expiry) {
    localStorage.removeItem(key)
    return null
  }
  return item.value
}
